Decoding techniques for multi-antenna systems

ABSTRACT

The invention relates to a wireless radiofrequency data communication system comprising: a base-station comprising a multiple of N first groups and a signal processing-unit comprising memory means and processing means, wherein each first group comprises a receiver-unit provided with a receiver and at least one antenna which is connected to the receiver-unit, wherein the signal processing-unit is connected with each of the first groups for processing receive-signals generated by each of the first groups, and a multiple of M second groups for transmitting radiofrequency signals to the first groups, wherein each second group comprises a transmitter-unit provided with a transmitter and at least one antenna which is connected to the transmitter-unit, wherein the memory means of the signal processing-unit is provided with means comprising information about the transfer-functions of radiofrequency signals from each of the antennas of the second groups to each of the antennas of the first groups, and wherein the transmitters is and receivers operate on essentially the same radiofrequency or radiofrequency-band.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority of European Application No.00303784.3,which was filed on May 5, 2000.

DESCRIPTION

The invention relates to a wireless radiofrequency data communicationsystem comprising:

-   -   a base-station comprising a multiple of N first groups and a        signal processing-unit comprising memory means and processing        means, wherein each first group comprises a receiver-unit        provided with a receiver and at least one antenna which is        connected to the receiver-unit, wherein the signal        processing-unit is connected with each of the first groups for        processing receive-signals generated by each of the first        groups, and    -   a multiple of M second groups for transmitting radiofrequency        signals to the first groups, wherein each second group comprises        a transmitter-unit provided with a transmitter and at least one        antenna which is connected to the transmitter-unit,        wherein the memory means of the signal processing-unit are        provided with information about the transfer-functions of        radiofrequency signals from each of the antennas of the second        groups to each of the antennas of the first groups, and wherein        the transmitters and receivers operate on essentially the same        radiofrequency or radiofrequency-band.

Wireless radiofrequency data communication systems of this type areknown and find their applications in a variety of fields. An example ofsuch an application can be found in the domain of digital communicationfor electronic-mail. In this application each personal computer can beprovided with at least one second set so that the personal computer canbe incorporated in an network. The base-station may in that case beconnected with a server of the network. Further examples are given, forinstance, in the domain of mobile telephony. In the case of mobiletelephony the base-station is a telephony exchange. In the majority ofthe applications more than one second set wants to communicate with thebase-station. This means that the second group transmits signals to thisbase-station and also receives signals from this base-station. Since itwould not be acceptable if all second groups would have to wait for eachother's communication to be finished, there is a need for simultaneouscommunication. Simultaneous communication allows more second groups tocommunicate at the same time with the base-station. A straightforwardand common way of realising simultaneous communication is to assigndifferent radiofrequencies to the respective second groups. In this wayall data signals can be separated easily by the first groups in thebase-station by frequency selective filters. Furthermore, thebase-station can communicate with each second group at the specificradiofrequency which has been assigned to the second group. Atransmitted radiofrequency signal contains the actual information to betransmitted to the receiver. This actual information has been modulatedon the radiofrequency carrier-signal. Several techniques have beendeveloped for modulating information on the carrier-signal likefrequency-modulation, phase-modulation amplitude-modulation et cetera.

A radiofrequency signal which is transmitted by a second group travelsfrom the antenna of the second group along so-called travel-paths to theantennas of the first groups. During the travelling, depending of thespecific travel-path, the radiofrequency signal is attenuated and also aphase-distortion is incurred on the radiofrequency signal. Thephase-distortion of the radiofrequency signal can be corrected by thesignal processing-unit in the base-station on the basis of theinformation about the transfer-functions. This can be of specialinterest if information is modulated on the radio-frequency signalaccording to a phase-modulation technique.

It is an object of the invention to provide in a detection systemwhich-increases the communication capacity of the wireless communicationsystem per frequency or frequency-band used by the system. In particularit is an object of the invention to increase the data communicationcapacity from the second groups to the first groups by creating multipleseparate simultaneous data communication channels. More in particular itis an object of the invention to provide in a detection systemcomprising M simultaneous separated communication signals for which themultiple of first groups N may be less, equal or greater than themultiple M of second groups.

The present invention therefore provides in a wireless radiofrequencydata communication system which is characterised in that the signalprocessing-unit is arranged to process, in use, the receive-signals onthe basis of the Maximum Likelihood Detection method, such that for eachsecond group of the second groups an individual communication channel isformed with the base-station wherein these communication channels aregenerated simultaneously and separately from each other.

In this manner multiple communication channels are realised on the samefrequency, or within the same frequency-band, based on the principlethat the signals can be separated thanks to the differentcharacteristics of the transfer-functions. Due to the Maximum Likelihooddetection technique this holds for the cases wherein the number N offirst groups is greater, equal or less than the number M of secondgroups. Hence the data communication capacity per frequency orfrequency-band is indeed increased. The geometry of the configuration ofthe communication system determines the transfer functions which belongto the different travel-paths between the antennas of the first groupsand the second groups in the base-station. These transfer functions areexpressed by complex numbers. Each complex number expresses the transferfunction between one antenna of one of the first groups and one antennaof the second group. The amplitude of the complex number is theattenuation of the signal's strength and the phase of the complex numberis the phase modulation incurred during transmission along thetravel-path. Since the used frequencies are relatively high, thetransfer functions depend largely on the configuration.

An embodiment according to the invention is characterised in that eachtransmitter comprises means for modulating an information signal on aradiofrequency signal according to the Quadrature Amplitude Modulation(QAM) method, wherein so-called QAM-symbols are transmitted, and thateach receiver comprises means for demodulating information signals froma received radiofrequency signal.

The Quadrature Amplitude Modulation is an amplitude- and/orphase-modulation technique in which information in binary format ismodulated on a radiofrequency signal.

In a favourable embodiment of the invention the wireless communicationsystem is characterised in that the signal processing-unit is arrangedto calculate, in use, a detection signal x_(DET) according tox _(DET) =arg _(over set)min(∥r−Hx ^(p) _(SET)∥),  (I)where arg_(over set) min(∥ . . . ∥) is a function which, according to(I), yields that vector x_(DET) out of a set X_(SET) of P vectors x^(p)_(SET) (p=1, . . . ,P) for which the length ∥r−Hx^(p) _(SET)∥ of thecomplex N-dimensional vector r−Hx^(p) _(SET) is minimal, wherein r is acomplex N-dimensional vector [r_(l), . . . ,r_(i), . . . ,r_(N)]^(T)with r_(i) being the signal received by the i^(th) first group of the Nfirst groups, H is a complex [N*M] matrix containing transfer-functionsh_(im) (i=1, . . . ,N; m=1, . . . ,M), wherein h_(im) is thetransfer-function for transmission from the m^(th) second group of the Msecond groups to the i^(th) first group of the N first groups, and wherex^(p) _(SET) is the p^(th) complex M-dimensional vector [x^(p)_(SET, 1), . . . , x^(p) _(SET, m), . . . ,x^(p) _(SET, M)]^(T) of theset X_(SET), wherein the vectors x^(p) _(SET) in the set X_(SET) containpossible combinations of values which can be assigned by the secondgroups to an information signal x, where x is a M-dimensional vector is[X₁, . . . ,X_(m), . . . ,X_(M)]^(T) with x_(m) being the informationsignal transmitted by the m^(th) second group of the M second groups tothe first groups and where x_(m) is one individual communication signal.Equation (I) is based on the modelr=Hx+n,  (II)where n is a complex N-dimensional noise vector [n₁, . . . , n_(i), . .. n_(N)]^(T) containing noise terms picked up during reception. Themodel (II) gives the relation between the transmitted signal x=[x₁, . .. ,x_(m), . . . ,x_(M)]^(T) and the received signal r=[r₁, . . . ,r_(i),. . . ,r_(N)]^(T) in the base-station. The detection method according tothe invention tries to match a fixed number of possible combinations ofvalues for x in the equation (I). These possible value combinations arethe vectors x^(p) _(SET), (p=1, . . . , P), which all togetherconstitute the set X_(SET). The detection signal x_(DET) is that vectorx^(p) _(SET) in the set X_(SET) which minimizes the length of the vectorr−Hx^(p) _(SET).

In a further embodiment the wireless radiofrequency data communicationsystem is characterised in that the processing unit is arranged toapply, in use, the following approximation (III) in the calculation of(I)∥r−Hx ^(p) _(SET)∥=Σ_(i=1, . . . ,N) (∥Real([r−Hx ^(p)_(SET)]_(i))∥+∥Im([r−Hx ^(p) _(SET]) _(i))∥),  (III)wherein Σ_(i=1, . . . ,N) ( . . . ) is a summation over the index i from1 to N over the argument (∥Real([r−Hx^(p) _(SET)]_(i))∥+∥Im([r−Hx^(p)_(SET)]_(i))∥), where ∥(.)∥ yields the absolute value of its inputargument and where Real( . . . ) is a function which, in equation (III),yields the real part of its complex argument [r−Hx^(p) _(SET)]_(i), with[r−Hx^(p) _(SET)]_(i) being the i^(th) component of the complexN-dimensional vector r−Hx^(p) _(SET), and where Im( . . . ) is afunction which, in equation (III), yields the imaginary part of itscomplex argument [r−Hx^(p) _(SET)]_(i).

The expression (III) offers a valuable approximation and simplificationfor the evaluation of equation (1).

An embodiment of the invention which is of special interest is awireless radiofrequency data communication system characterised in thatthe set X_(SET) comprises all possible combinations of values which canbe assigned to the signal x by the second groups.

In a preferred embodiment of the invention the wireless radiofrequencydata communication system is characterised in that the signalprocessing-unit is arranged to find, in use, the detection signalx_(DET) according to a Reduced Search Technique wherein a search-tree ispassed through according to the following steps 1 to 7:

-   Step 1: calculate the lengths of the complex vectors v corresponding    to all combinations of possible values which can be assigned to [x₁,    . . . ,x_(L)], wherein v is given by    v=(r−Σ _(i=1, . . . ,L) h _(i)*x^(p) _(SET, i)),  (IV)    where Σ_(i=1, . . . ,L) ( . . . ) is a summation over the index i    from 1 to L over the complex argument [h_(i)*x^(p) _(SET, i)] and    where h_(i) is the i^(th) column [h_(1,i, . . . ,)h_(N,i]) ^(T) of    the matrix H;-   Step 2: select the K combinations of values for [x^(p)    _(SET, 1, . . . ,)x^(p) _(SET, L)] corresponding to the K smallest    lengths of v as well as the K vectors v itself and set m=L+1;-   Step 3: calculate the lengths of the C*K new vectors v given by    v=v _(old) −h _(m) *x ^(p) _(SET, m),  (V)    where v_(old) is one of the K vectors v resulting from the preceding    step and where h_(m) is the m^(th) column of H;-   Step 4: select those K combinations of values for [x^(p) _(SET, 1),    . . . , x^(p) _(SET, m)] that correspond to the K smallest lengths    of v as well as the K vectors v itself and set m=m_(old)+1, where    m_(old) is m from the preceding step;-   Step 5: if m<M then go to Step 3, else go to step 6;-   Step 6: calculate the lengths of the C*K new vectors v given by    v=v _(old) −h _(M) *x ^(p) _(SET, M),   (VI)-   Step 7: the detection signal x_(DET) is determined as that    combination of values x_(DET)=[x^(p) _(SET, 1), . . . , x^(p)    _(SET, M)] which corresponds to the vector v with the smallest    length,    wherein K and L are predetermined fixed integer values which control    the size P of the set X_(SET) and wherein the constellation size C    of the system is the number of values x^(p) _(SET, m) which can be    assigned by one of the second groups to one component x_(m) (m=1, .    . . ,M) of x and where v_(old) is one of the K vectors v resulting    from Step 3, the calculated detection signal x_(DET) is the    combination of values x^(p) _(SET) corresponding to the smallest    vector v. In this manner the requisite number of calculations for    obtaining the detection signal x_(DET) is known on beforehand, since    the number P of vectors in the set X_(SET) is pre-determined by    selecting values for K and L.

An alternative embodiment according to the invention is characterised inthat the signal processing-unit is arranged to find, in use, thedetection signal x_(DET) according to a Reduced Search Technique whereina search-tree is passed through according to the following steps 1 to 7:

-   Step 1: calculate the values of the lengths of the C vectors v    according to the C possible values x^(p) _(SET, 1)    v=(r−h ₁ *x ^(p) _(SET, 1)),  (VII)    wherein h₁ is the first column of H;-   Step 2: select those combinations of values for x^(p) _(SET, 1) for    which the lengths of v are smaller than T, as well as the    corresponding vectors v and set m=2;    -   Step 3: calculate the lengths of the new vectors v given by        v=v _(old) −h _(m) *x ^(p) _(SET, m),  (VIII)        wherein v_(old) is one of the vectors v resulting from the        preceding step and where h_(m) is the m^(th) column of H, and        adjust the treshold T;-   Step 4: select those combinations of values for [x^(p) _(SET, 1),. .    . , x^(p) _(SET, m)] for which v is smaller than T, discard the    other combinations and set m=m_(old)+1, where m_(old) is m from the    preceding step;-   Step 5: if m<M then go to Step 3, else go to step 6,    -   Step 6: calculate the lengths of the new vectors v given by        v=v _(old) −h _(M) *x ^(p) _(SET, M),   (IX)-   Step 7: the detection signal x_(DET) is determined as that    combination of values x_(DET)=[x^(p) _(SET, 1), . . . , x^(p)    _(SET, M)] which corresponds to the vector v with the smallest    length,    wherein T is a predetermined fixed threshold value which controls    the size P of the set X_(SET) and wherein the constellation size C    of the system is the number of values x^(p) _(SET, m) which can be    assigned by one of the second groups to one component x_(m) (m=1, .    . . ,M) of x, and wherein v_(old) is one of the vectors v resulting    from step 3, the calculated detection signal x_(DET) is the    combination of values x^(p) _(SET) corresponding to the smallest    vector v. In this embodiment the number of requisite calculations    for obtaining the detection signal x_(DET) is not known on    beforehand since the number of vectors v which are selected in the    respective steps 2 and 4 may vary from step tot step, depending on    the adjusted value for the threshold T and the noise n in the signal    r.

A further embodiment of the wireless radiofequency data communicationsystem according to the invention is characterised in that the signalprocessing-unit is arranged to find, in use, the detection signalx_(DET) according to a Reduced Search Technique which also comprises thefollowing steps:

-   Step A1: calculate an inner product z of the vector r with the    u^(th) column h_(u) of the matrix H, where u is an integer 1≦u≦M,    according to:    z=h ^(*) _(u) r,  (X)    where h^(*) _(u) is the complex conjugated and transposed of h_(u);-   Step A2: calculate C^(M−1) terms Interf corresponding to all    possible value combinations which can be assigned to [x₁, . . .    ,x_(u−1),x_(u+1), . . . ,x_(M)], wherein the terms Interf are    defined according to:    Interf=Σ_((i=1, . . . ,M{circumflex over ( )}i≠u))x_(i)*(h ^(*) _(u)    *h _(i)),  (XI)    wherein Σ_((i=1, . . . ,M{circumflex over ( )}i≠u)) is a summation    over the index i from 1 to M with the exception of the integer u;-   Step A3: estimate, on the basis of the equations (X), (XI) and z′    according to:    z′=Interf+x _(u)*(h ^(*) _(u) *h _(u)),  (XII)    where z′ is an approximation of z, the value for x_(u) corresponding    to each of the value combinations [x₁, . . . ,x_(u−1),x_(u+1), . . .    ,x_(M)], and constitute a test set X_(SET) comprising C^(M−1)    vectors x^(p) _(SET), wherein each vector x^(p) _(SET) represents a    value combination    [x₁, . . . ,x_(u−1),x_(u+1), . . . ,x_(M)];-   Step A4: determine the detection signal X_(DET) according to    equation (A), wherein the test set is defined with the C^(M−1)    vectors x^(p) _(SET) from the preceding step.

In an embodiment of the wireless radiofrequency data communicationsystem according to the invention the multiple N of first groups exceedsthe multiple M of second groups.

In another embodiment of the wireless radiofrequency data communicationsystem according to the invention the multiple N of first groups is lessthan the multiple M of second groups.

In still another embodiment of the wireless radiofrequency datacommunication system according to the invention the multiple N of firstgroups is equal to the multiple M of second groups.

In the accompanying drawings, in which certain modes of carrying out thepresent invention are shown for illustrative purposes:

FIG. 1 is a diagram schematically showing a wireless data communicationsystem according to the invention;

FIG. 2 is a diagram illustrating the use of Quadrature AmplitudeModulation (QAM) symbols by the wireless data communication system ofFIG. 1.

FIG. 3 is a diagram illustrating the use of Quadrature AmplitudeModulation (QAM) symbols by a wireless data communication system whichcontains three first groups and two second groups.

FIG. 4 is a diagram illustrating the use of Quadrature AmplitudeModulation (QAM) symbols by a wireless data communication system whichcontains one first group and two second groups.

FIG. 5 is a diagram showing a search tree for illustrating the principleof Reduced Search Techniques in an embodiment of a wireless datacommunication system according to the invention.

An embodiment of a wireless radiofrequency data communication systemaccording to the invention is shown in FIG. 1. This wirelessradiofrequency data communication system comprises a base-station 2which comprises a signal processing-unit 4 and multiple first groups 6.i(i=1,2, . . . ,N). Each first group 6.i comprises a receiver-unit 10.iprovided with a receiver, and at least one antenna 12.i which isconnected to the receiver-unit 10.i. In this example each first group6.i comprises one antenna 12.i connected to the receiver-unit 10.i. Thesignal processing-unit 4 is at one side connected to each of the firstgroups 6.i, i=1,2, . . . ,N, and at another side connected to each ofthe coding/decoding-units 14.m, m=1,2, . . . ,M. Furthermore, the systemcomprises multiple second groups 16.m (m=1,2, . . . ,M), wherein eachsecond group 16.m comprises at least a transmitter-unit 18.m and atleast one antenna 20.m which is connected to said transmit-unit 18.m.Each of the second groups 16.m is connected with a coding/decoding-unit22.m, m=1,2, . . . ,M.

In the configuration of FIG. 1 the second groups can belong to mobilecommunication stations. An example of this is the situation whereinnotebooks are provided with at least one second group. In this situationthe notebooks can communicate via the second groups to the base-station.The base-station can be an internet and/or an intranet server. Ingeneral the number M of second groups will vary during the operation ofthe base-station.

The second groups 16.m (m=1,2, . . . ,M) can simultaneously transmitradiofrequency signals on essentially the same radiofrequency orradiofrequency-band to the first groups 6.i. The radiofrequency signalwhich is transmitted from the second group 16.m travels from this secondgroup along travel-paths T_(im) (i=1,2, . . . ,N) to the respectivefirst groups 6.i (i=1,2, . . . ,M). The travel-path T_(im) is thetravel-path from the second group 16.m to the first group 6.i. For eachtravel-path T_(i,m) a transfer-function can be defined which is isexpressed with a complex number h_(im). The amplitude of the h_(im) isthe attenuation of the signal's strength and the phase of h_(im) is thephase modulation incurred during transmission along the travel-path. Theprocessing-unit 4 comprises memory means provided with information aboutthe transfer-functions of radiofrequency signals along saidtravel-paths. Furthermore the processing-unit 4 comprises processingmeans for processing receive-signals generated by each of the firstgroups.

In FIG. 1 a radiofrequency transmission signal x^(RF) _(m) is generatedby the second group 16.m and transmitted to the first groups 6.i (i=1, .. . ,N). The generation of this radiofrequency transmission signal is asfollows. The input to the coding/decoding-unit 22.m is a so-calledQuadrature Amplitude Modulated symbol (short: QAM-symbol). ThisQAM-symbol is expressed as a complex number (an example of such acomplex number is: 1+2j, where the real part of the QAM-symbol is 1 andthe complex part is 2). Said QAM-symbol is modulated by thecoding/decoding-unit 22.m on a low-frequency signal, which yields x_(m).This data-signal x_(m) is the input of the transmit-unit 18.m, whichtransmit-unit modulates x_(m) on a radiofrequency signal yielding theradiofrequency signal x^(RF) _(m). The radiofrequency signal x^(RF) _(m)is transmitted by the antenna 20.m to the first groups.

Each first group 6.i, i=1, . . . ,N receives a radiofrequency signalr^(RF) _(i) in the antenna 12.i, this signal r^(RF) _(i) is a result ofthe interference of all transmitted signals x^(RF) _(m),m=1, . . . M.The signal r^(RF) _(i) is demodulated by the receiver-unit 10.i to alow-frequency receive-signal r_(i) which contains the modulatedinformation of data-signal x_(m). The N receive-signals r_(i), i=1, . .. ,N are fed to the input of the signal processing-unit 4. The signalprocessing unit 4 calculates M output signals x_(i,DET), i=1, . . . ,M.Each output signal x_(i,DET) is an estimation for the data-signal x_(i).The detection signal x_(i,DET) is imputed to the coding/decoding-unit14.i, i=1, . . . ,N, which unit generates the QAM-symbol c_(i,DET). ThisQAM-symbol is an estimation for the QAM-symbol c_(i).

The operation of the signal processing unit 4 will now be elucidated onthe basis of a mathematical framework. The relation between thedata-signals x_(m), m=1, . . . ,M and the receive-signals r_(i), i=1, .. . ,N is given with the following vector equation:r=Hx+n,  (XIII)where r is a N-dimensional complex vector [r₁, . . . ,r_(i), . . .,r_(N)]^(T), where H is a complex [N*M]-matrix containing thetransfer-functions h_(im), (i=1, . . . ,N; m=1, . . . ,M) and wherein xis a M-dimensional complex vector [x₁, . . . ,x_(m), . . . ,x_(M)]^(T).The noise vector n is a N-dimensional complex vector [n₁, . . . ,n_(i),. . . ,n_(N)]^(T), with n_(i) being the noise term picked up duringreception of the signal r^(RF) _(i). The signal processing unit 4calculates detection signals x_(DET)=[x_(1,DET), . . . ,x_(,M,DET)]^(T)which are estimations for the data-signals x. These calculations areperformed according to the Maximum Likelihood method. It has to be notedhere that the detection signals are sometimes called Maximum Likelihoodsignals. One important aspect of the Maximum Likelihood approach is thatuse is made of the knowledge that the QAM-symbol c_(m), m=1, . . . ,Mcan only take on a limited number of values. This number is called theconstellation size C of the second group. So, the data-signal x_(m) fora particular m can only take on C different values. This implicates thatthe total number of possible different value combinations of thedata-vector x is C^(M). All these C^(M) different value combinationstogether constitute the test set X_(SET), wherein the p^(th) element ofthe set is a value combination which is a complex M-dimensional vectorx^(p) _(SET). This implicates that the signal processing unit cancalculate a detection signal by trying to match all elements of the setand choosing the best fit according to (XIII). In order to saveprocessing time it is also possible only to match the elements of asubset of the set. For the latter approach several reduced searchtechniques are developed according to the invention. The detectionsignals which are found by matching elements of the set are calledMaximum Likelihood signals.

The signal processing-unit 4 can find the Maximum Likelihood detectionsignal in particular according to the following algorithm. Thisalgorithm will be described in mathematical terms. The detection signalsx_(DET) are calculated by the signal-processing-unit 4 according tox _(DET)=arg_(over set)min(∥r−Hx ^(p) _(SET∥),)  (XIV)where arg_(over set) min(∥ . . . ∥) is a function which, according to(XIV), yields that vector x_(DET) out of a set X_(SET) of P vectorsx^(p) _(SET) (p=1, . . . ,P) for which the length ∥r−Hx^(p) _(SET)∥ ofthe complex N-dimensional vector r−Hx^(p) _(SET) is minimal and wherex^(p) _(SET) is the p^(th) complex M-dimensional vector [x^(p)_(SET, 1), . . . ,x^(p) _(SET, m),. . . ,x^(p) _(SET, M)]^(T) of the setX_(SET), wherein the vectors x^(p) _(SET) in the set X_(SET) containpossible combinations of values which can be assigned by the secondgroups to an information signal x, where x_(m) is one individualcommunication signal. Since the data-signals x_(m) m=1, . . . ,M aretransmitted simultaneously each detection signal x_(m,DET) results inthe generation of one of M simultaneous data communication signals.

The principle of the Maximum Likelihood Detection method will now beillustrated with the schematic FIG. 2. This figure shows QAM-symbolsc_(m) m=1, . . . ,M which are the possible inputs to the coding/decodingunits 22.m. The QAM-symbol c₁ is marked with a * 26.1 and equals (−1+j).Each diagram 24.m contains a QAM-symbol c_(m) which can take on 4different values. These possible values are marked with 0 28.m. Theactual possible values for the QAM-symbols are (1+j), (−1+j), (−1−j) and(−1−j). Thus here the constellation size C of the second groups is C=4.As is explained before the QAM-symbols are the information which ismodulated on the corresponding data signal x_(m). However, from amathematical point of view the QAM-symbols are identical to the signalsx_(m). So, the value of the low-frequency signal x₁ in the example ofFIG. 2 is (−1+j) and the value of x_(M) is (1−j). The transmission andthe subsequent reception of the QAM-symbols to the first groups 6.itakes place via radiofrequency carrier signals. The mathematicalformulation of this transmission is a transformation of the vector xwith the matrix H and an addition of noise n, see equation (XIII). Thisis illustrated with the transformation block 30 which contains Minput-signals x_(m) m=1, . . . ,M and N output-signals r_(i) i=1, . . .,N. The values of the output signals r_(i) i=1, . . . ,N are representedwith * marks 34.i in the diagrams 32.i. Each diagram 32.i contains onereceived component r_(i) of r. As a consequence of the time-varyingnature of H and as a consequence of noise the values of r_(i) willgenerally vary, even if the QAM-symbols c_(m) would have continuouslyconstant values. Now the signal processing unit 4 calculates thetransformation of all possible number of value combinations in the testset (or a subset of the test set) of the QAM-symbols, in order to trythese elements in (XIV), according to:r ^(p) _(ps) =Hx ^(p) _(SET) ,p=1, . . . ,P.  (XV)The complete test set comprises P=C^(M) combinations (but for a subsetof the test set P<=C^(M)). Equation (XV) yields possible receive-signalsin the situation of absence of noise. These signals are indicated with 0marks 36.i in the diagrams 32.i. Finally, the Maximum Likelihoodsolution is that value combination x^(p) _(SET) in the test set, whichcorresponds to the 0 marks of its components, for which the value∥r−r^(p) _(SP∥,)  (XVI)is minimal. In the case in which the vectors r and r^(p) _(SP) onlycomprise one component the Maximum Likelihood solution is found with the0 in diagram 32.1 which is closest to the *.

FIG. 3 gives a more detailed example of a wireless data communicationsystem according to the invention where the number of first groups N=3,the number of second groups M=2 and the constellation size C=2. In totalthere are 4 possible value combinations which can be assigned to thedata-signals x. In this example the data-signal is x=[(0+j), (0+j)]^(T).Since the number of first groups is greater than the number of secondgroups a robust communication system, fairly insensitive to noise, isrealised. The possible values for the components of the data-signals xare schematically indicated with 0 marks 26.1 in the diagrams 24.1 and24.2 in FIG. 3. The test set comprises all these possible valuecombinations (P=4), so the test set X_(SET) is given with:X _(SET)={x¹ _(SET); x² _(SET); x³ _(SET); x⁴SET},where:x ¹ _(SET)=[(0+j), (0+j)]^(T),x ² _(SET)=[(0−j), (0+j)]^(T),x ³ _(SET)=[(0+j), (0−j)]^(T),x ⁴ _(SET)=[(0−j), (0−j)]^(T),  (XVII)wherein the notation X_(SET)={. .; . .} means that X_(SET) is the set ofall vectors which are enumerated between the brackets {.}. In this casethe matrix H containing the transfer-functions is a complex[3*2]-matrix. The transformation of the elements of the test set X_(SET)(see (XVII)) according to (XV) results in 4 vectors r^(p) _(SP), each ofwhich has 3 components. The values of the respective components of thevectors r^(p) _(SP) are depicted in the respective diagrams 32.1, 32.2and 32.2 of FIG. 3 and marked with 0 marks 36.i, i=1,2,3. Thetransformation of the data-signal x according to (XIII) yields thereceive signal r. The respective components of this signal are indicatedwith * marks 34.i in the respective diagrams 32.1, 32.2 and 32.2 of FIG.3. Note that despite the relation x=x¹ _(SET) the signal r is unequal tor¹ _(SP) as a consequence of the noise n. The Maximum Likelihoodsolution is found according to (XIV). Note that 2 simultaneous datacommunication channels are generated, which channels are the componentsof the vector x (the first channel is x₁ and the second channel is x₂).

FIG. 4 gives an example of a wireless data communication system in whichthere are more second groups (M=2) than first groups (N=1). However,with the detection algorithm according to the invention the signalprocessing-unit sometimes can recover the transmitted M-dimensionaldata-signal x. In this case the data-signal x=[(0+j), (0+j)]^(T). Theconstellation size C=2. So, there are 4 possible value combinationswhich can be assigned to the data-signals x. The possible values for thecomponents of these data-signals are indicated with 0 marks 26.1 in thediagrams 24.1 and 24.2 of FIG. 4. The test set comprises all thesepossible value combinations (P=4), so the test set X_(SET) is given with(XVII). In this example the matrix H containing the transfer-functionsis a complex [1*2]-matrix:H=[h ₁₁ h ₁₂ ]=[h ₁ h ₂],  (XVIII)where the column h₁ is identical to the scalar h₁₁ and the column h₂ isidentical to the scalar h₁₂. The transformation of the elements of thetest set X_(SET) (see (XVII)) according to (XV) results in 4 scalarsr^(p) _(SP). The values of these 4 scalars r^(p) _(SP) are depicted inthe diagrams 32.1 of FIG. 4 and marked with 0 marks 36.1. Thetransformation of the data-signal x according to (XIII) yields thereceive signal r. In this example this signal is also a scalar which isindicated with a * mark 34.1 in the diagrams 32.1 of FIG. 4. Note thatdespite the relation x=x¹ _(SET) the signal r is unequal to r¹ _(SP) asa consequence of the noise n. The Maximum Likelihood solution is foundaccording to (XIV) and is given with the 0 mark which is closest tothe * mark 34.1.

The calculations of the signal processing unit based on the equation(XIV) can be approximated with the following expression in order to saveprocessing time:∥r−Hx ^(p) _(SET∥=Σ) _(i=1, . . .,N)(∥Real([r−Hx ^(p)_(SET)]_(i))∥+∥Im([r−Hx ^(p) _(SET]) _(i))∥),  (XIX)wherein Σ_(i=1, . . . ,N)( . . . ) is a summation over the index i from1 to N over the argument (∥Real([r−Hx^(p) _(SET)]_(i))∥+∥Im([r−Hx^(p)_(SET)]_(i))∥), where ∥(.)∥ yields the absolute value of its inputargument and where Real( . . . ) is a function which, in equation (XIX),yields the real part of its complex argument [r−Hx^(p) _(SET)]_(i), with[r−Hx^(p) _(SET)]_(i) being the i^(th) component of the complexN-dimensional vector r−Hx^(p) _(SET), and where Im( . . . ) is afunction which, in equation (XIX), yields the imaginary part of itscomplex argument [r−Hx^(p) _(SET)]_(i).

The signal processing-unit 4 finds the Maximum Likelihood detectionsignal according to (XIV). With this equation the detection signal isfound by trying to fit elements of the test set X_(SET). Since the testset comprises C^(M) elements this can easily lead to a huge amount ofprocessing time. To reduce the processing time the invention provides inan algorithm which can limit the search to a subset of X_(SET). A firstalgorithm which provides in an intelligent way of choosing apre-determined subset of X_(SET) is given below and is called a ReducedSearch Technique. In this Reduced Search technique a search-tree ispassed through according to the following steps 1 to 7:

-   Step 1: calculate the lengths of the complex vectors v corresponding    to all combinations of possible values which can be assigned to [x₁,    . . . ,x_(L)]. The vector v is given with    v=(r−Σ _(i=1), . . . ,_(L) h _(i) *x ^(p) _(SET, i)),  (XX)    where Σ_(i=1), . . . ,_(L) ( . . . ) is a summation over the index i    from 1 to L over the complex argument [h_(i)*x^(p) _(SET, i)] and    where h_(i) is the i^(th) column [h_(1,i), . . . ,h_(N,i)]^(T) of    the matrix H;-   Step 2: Select the K combinations of values for [x^(p) _(SET, 1), .    . . , x^(p) _(SET, L)] corresponding to the K smallest lengths of v    as well as the K vectors v itself and set m=L+1;-   Step 3: Calculate the lengths of the C*K new vectors v given by    v=v _(old) −h _(m) *x ^(p) _(SET, m),  (XXI)    where v_(old) is one of the K vectors v resulting from the preceding    step and where h_(m) is the m^(th) column of H;-   Step 4: Select those K combinations of values for [x^(p) _(SET, 1),    . . . , x^(p) _(SET, m)] that correspond to the K smallest lengths    of v as well as the K vectors v itself and set m=m_(old)+1, where    m_(old) is m from the preceding step;-   Step 5: If m<M then go to Step 3, else go to step 6;-   Step 6: Calculate the lengths of the C*K new vectors v given by    v=v _(old) −h _(M) *x ^(p) _(SET, M),  (XXII)-   Step 7: the detection signal x_(DET) is determined as that    combination of values x_(DET)=[x^(p) _(SET, 1), . . . , x^(p)    _(SET, M)] which corresponds to the vector v with the smallest    length, wherein K and L are predetermined fixed integer parameters    which control the size P of the set X_(SET) and where v_(old) is one    of the K vectors v resulting from Step 3, the calculated detection    signal x_(DET) is that element of the set X_(SET) for which the    vector v is smallest. The principle of this reduced search technique    is schematically illustrated in diagram 38 of FIG. 5 (according to    the example of FIG. 4). In this example the pre-determined parameter    L=1 and K=4. Furthermore, the constellation size C=2, the number of    second groups M=2, the number of first groups N=1, the matrix H is    given with (XVIII) and the test set is defined with (XVII). The    received vector r is a scalar r. The first stage 40 of the algorithm    is to evaluate (XX). This results in principle in four lengths v1,    v2, v3 and v4 corresponding to four vectors v (note that in this    example v and h₁ and h₂ are all scalars):    v1=∥r−h ₁ *x ¹ _(SET, 1) ∥=∥r−h ₁ *j∥    v2=∥r−h ₁ *x ² _(SET, 1) ∥=∥r−h ₁*(−j)∥    v3=∥r−h ₁ *x ³ _(SET, 1) ∥=∥r−h ₁ *j∥=v1    v4=∥r−h ₁ *x ⁴ _(SET, 1) ∥=∥r−h ₁*(−j)∥=v2.  (XXIII)    These values v1 and v2 are shown in FIG. 5 in Step 1 of the    algorithm 42. According to Step 2 both values v1 and v2 are    selected. Hereafter, in Step 3 and Step 4 the lengths of 4 new    vectors v are calculated. These 4 new lengths are:    v1=∥r−h ₁ *j−h ₂ *j∥    v2=∥r−h ₁*(−j)−h ₂ *j∥    v3=∥r−h ₁ *j−h ₂*(−j)∥    v4=∥r−h ₁*(−j)−h ₂ *j∥  (XXIV)    These four lengths 44 are depicted in FIG. 5. From Step 5 of the    algorithm a jump is made to Step 6. Finally, in Step 6 the    calculation of the Maximum Likelihood detection signal is finished.    In this case the detection signal equals the test vector x⁴ _(SET):    x_(DET)=x⁴ _(SET). In the algorithm stated above the processing load    of the signal processing-unit 4 is known on beforehand and can be    controlled with the parameters K and L. It is important to note that    the detection signal comprises two components whereas the    receive-signal r only comprises one component. So, in principle two    separate simultaneous communication channels are formed. This    example shows an important aspect of the nature of the detection    algorithm according to the invention, namely that the number of    receivers may be less than the number of transmitters, and thus the    number of receivers may also be less than the number of simultaneous    communication channels.

In another embodiment of the wireless data communication system thesignal processing-unit 4 also finds the Maximum Likelihood detectionsignal according to (XIV). However, in this embodiment the processingload of the signal processing-unit 4 is not known on beforehand. Thesubset of the test set is X_(SET) is controlled with a real valuethreshold parameter T. The algorithm of this Reduced Search Technique isgiven below and comprises seven steps:

-   Step 1: Calculate the values of the lengths of the C vectors v    according to the C possible values x^(p) _(SET, 1)    v=(r−h ₁ *x ^(p) _(SET, 1))  (XXV)-   Step 2: Select those combinations of values for x^(p) _(SET, 1) for    which the lengths of v are smaller than T, as well as the    corresponding vectors v and set m=2;    -   Step 3: Calculate the lengths of the new vectors v given by        v=v _(old) −h _(m) * x ^(p) _(SET, m),  (XXVI)        wherein v_(old) is one of the vectors v resulting from the        preceding step and adjust the treshold T;-   Step 4: Select those combinations of values for [x^(p) _(SET, 1), .    . . , [x^(p) _(SET, m)] for which v is smaller than T, discard the    other combinations and set m=m_(old)+1, where m_(old) is m from the    preceding step;-   Step 5: If m<M then go to Step 3, else go to step 6,    -   Step 6: Calculate the lengths of the new vectors v given by        v=v _(old) −h _(M) *x ^(p) _(SET, M,)  (XXVII)-   Step 7: the detection signal x_(DET) is determined as that    combination of values x_(DET)=[x^(p) _(SET, 1), . . . , x^(p)    _(SET, M)] which corresponds to the vector v with the smallest    length,    wherein v_(old) is one of the vectors v resulting from step 3. The    principle of this algorithm can also be illustrated with FIG. 5. The    relevant parameters in the example of FIG. 5 are M=2, N=1, C=2.    After the first Step the 4 vectors v result, the lengths of these    vector are given with (XXIII). Also a pre-determined threshold value    T₁ 46 which is applied in Step 2 is presented in the FIG. 5. As a    result of the threshold T₁ 46 the branch ∥r−h₁*j∥ (corresponding to    v1 and v3 in (XXIII)) is discarded in the subsequent Steps. This    means that only the lengths of the vectors v2 and v4 are calculated    in Step 3 of the algorithm. Hereafter the threshold T₁ 46 is    adjusted to the new threshold value T₂ 48 for the next Step 4. Next,    the Steps 4 and 5 are performed, which includes the selection of the    smallest vectors v, after which the algorithm jumps to Step 6. Step    6 selects the Maximum Likelihood detection signal between the two    left test signals x² _(SET) and x⁴ _(SET). The Maximum Likelihood    solution appears to be x_(DET)=x⁴ _(SET).

The embodiments of the wireless data communication system comprising theReduced Search Techniques as described hereinbefore can also be appliedwith a modification for providing a further reduction in processingtime. According to this modification a factor C less test vectors in thetest set have to be checked out in equation (I). In said modificationthe signal processing-unit is arranged to find, in use, the detectionsignal x_(DET) according to a Reduced Search Technique which alsocomprises the following steps:

-   Step A1: calculate an inner product z of the vector r with the    u^(th) column h_(u) of the matrix H, where u is an integer 1≦u≦M,    according to:    z=h ^(*) _(u) r,  (XXVIII)    where h^(*) _(u) is the complex conjugated and transposed of h_(u);-   Step A2: calculate C^(M−1) terms Interf corresponding to all    possible value combinations which can be assigned to [x₁, . . .    ,x_(u−1),x_(u+1), . . . ,x_(M)], wherein the terms Interf are    defined according to:    Interf=Σ_((i=1 , . . . ,M{circumflex over ( )}i≠u)) x _(i)*(h ^(*)    _(u) *h _(i)),  (XXIX)    wherein Σ_(i=1, . . . ,M{circumflex over ( )}i≠u)) is a summation    over the index i from 1 to M with the exception of the integer u;-   Step A3: estimate, on the basis of the equations (XXVIII), (XXIX)    and z′ according to:    z′=Interf+x _(u)*(h ^(*) _(u) *h _(u)),  (XXX)    where z′ is an approximation of z, the value for x_(u) corresponding    to each of the value combinations [x₁, . . . ,x_(u−1),x_(u+1), . . .    ,x_(M)], and constitute a test set X_(SET) comprising C^(M−1)    vectors x^(p) _(SET), wherein each vector x^(p) _(SET) represents a    value combination    x₁, . . . , x_(u−1), x_(u),x_(u+1), . . . , x_(M)];-   Step A4: determine the detection signal X_(DET) according to    equation (A), wherein the test set is defined with the C^(M−1)    vectors x^(p) _(SET) from the preceding step.    The approximation (XXX) is based on the assumption that the noise n    can be neglected.

In accordance with the provisions of the patent statutes, the presentinvention has been described in what is considered to represent itspreferred embodiments. However, it should be noted that the inventioncan be practised otherwise than as specifically illustrated anddescribed Without departing from its spirit or scope. For example, thewireless data communication system according to the invention can beused not only for simplex communication (from the second groups to thefirst groups) but also for duplex data communication (from the secondgroups to the first groups and vice versa). In the latter case thecommunication from the first groups to the second groups may or may notbe arranged in such a way as to obtain a multiple of simultaneous datacommunication channels.

1-22. (canceled)
 23. A wireless device for a wireless data communicationsystem comprising the wireless device and a base station, wherein: thebase station comprises: a plurality of first groups, each first groupcomprising a receiver and at least one antenna connected to thereceiver; and a signal-processing unit comprising memory and a processoradapted to process signals received by the first groups using a MaximumLikelihood Detection (MLD) method; and the wireless device comprises aplurality of second groups, wherein: each second group is adapted totransmit a wireless signal to at least one first group via acorresponding communication channel; and each second group comprises atransmitter and at least one antenna connected to the transmitter; thesignal-processing unit is adapted to store, in the memory, informationcorresponding to one or more transfer functions, each transfer functioncorresponding to transmission of a wireless signal from an antenna ofthe second groups to an antenna of the first groups; the transmittersand receivers are adapted to operate at essentially the same frequencyor frequency band; and two or more of the communication channels aregenerated simultaneously.
 24. The device of claim 23, wherein the MLDmethod comprises: (a) calculating a first vector length for each of aplurality of complex vectors corresponding to a constellation having aplurality of combinations of possible data values; (b) selecting asubset of the combinations based on the first vector lengths calculatedin step (a); (c) calculating, for the first transmitter, a second vectorlength for each complex vector corresponding to a combination in thesubset; if there are one or more other transmitters, then, for eachother transmitter, implementing steps (d) and (e), wherein: step (d)comprises reducing the subset based on the second vector lengthscalculated in step (c); and step (e) comprises calculating, for acurrent transmitter, a second vector length for each complex vectorcorresponding to a combination in the reduced subset; (f) generating thedata based on the combination of possible data values that correspondsto the complex vector having the smallest second vector length in thesubset.
 25. The device of claim 24, wherein: the subset of combinationsselected in step (b) corresponds to a first specified number of complexvectors having the smallest first vector lengths; and the reduced subsetof combinations selected in step (d) corresponds to a second specifiednumber of complex vectors having the smallest second vector lengths. 26.The device of claim 25, wherein the method is performed with knowledge,prior to the occurrence of step (a), of the number of repetitions ofsteps (d) and (e) needed to generate the data in step (f).
 27. Thedevice of claim 25, wherein: the first vector length is given by∥r−Hx^(p) _(SET)∥, where: r is a complex N-dimensional complex vector[r₁, . . . ,r_(i), . . . ,r_(N)]^(T) with r_(i) being the signalreceived by the i^(th) receiver; N is the number of receivers; H is acomplex [N×M] matrix containing transfer-functions h_(im) (i=1, . . .,N; m=1, . . . ,M), wherein h_(im) is the transfer-function fortransmission from the m^(th) transmitter to the i^(th) receiver; M isthe number of transmitters; and x^(p) _(SET) is the p^(th) M-dimensionalcomplex vector [x^(p) _(SET,)1, . . . x^(p) _(SET,m), . . . ,x^(p)_(SET,M)]^(T) of the set X_(SET), wherein the complex vectors x^(p)_(SET) in the set X_(SET) contain possible combinations of values thatcan be assigned by the one or more transmitters to an information signalx; and the second vector length is given by ∥v_(old)−h_(m)*x^(p)_(SET,m)∥, where: v_(old) is one of the complex vectors in the subset;and h_(m) is the m^(th) column of H, where m corresponds to the currenttransmitter.
 28. the device of claim 25, wherein the second specifiednumber of complex vectors is less than the first specified number ofcomplex vectors.
 29. The device of claim 24, wherein: the subset ofcombinations selected in step (b) corresponds to the complex vectorshaving first vector lengths smaller than a first specified threshold;and the reduced subset of combinations selected in step (d) correspondsto the complex vectors having second vector lengths smaller than asecond specified threshold.
 30. The device of claim 29, wherein themethod is performed with no knowledge, prior to the occurrence of step(a), of the number of repetitions of steps (d) and (e) needed togenerate the data in step (f).
 31. The device of claim 29, wherein: thefirst vector length is given by ∥r−Hx^(p) _(SET)∥, where: r is a complexN-dimensional complex vector [r₁, . . . ,r_(i), . . . ,r_(N)]^(T) withr_(i) being the signal received by the i^(th) receiver; N is the numberof receivers; H is a complex [N×M] matrix containing transfer-functionsh_(im) (i=1, . . . ,N; m=1, . . . ,M), wherein h_(im) is thetransfer-function for transmission from the m^(th) transmitter to thei^(th) receiver; M is the number of transmitters; and x^(p) _(SET) isthe p^(th) M-dimensional complex vector [x^(p) _(SET,1), . . . x^(p)_(SET,m), . . .,x^(p) _(SET,M)]^(T) of the set X_(SET), wherein thecomplex vectors x^(p) _(SET) in the set X_(SET) contain possiblecombinations of values that can be assigned by the one or moretransmitters to an information signal x; and the second vector length isgiven by ∥v_(old)−h_(m)*x^(p) _(SET,m)∥, where: v_(old) is one of thecomplex vectors in the subset; and h_(m) is the m^(th) column of H. 32.The device of claim 29, wherein the second specified threshold is lessthan the first specified threshold.
 33. The device of claim 24, whereinthe signal processing unit calculates the subset by: (i) calculating aninner product of a complex vector representing the one or more receivedsignals with a complex conjugated and transposed column of a matrixcontaining transfer functions representing transmission between the oneor more transmitters and the one or more receivers; (ii) calculating,based on a summation of the transmitted signals transmitted by all ofthe transmitters except for the transmitter corresponding to the complexconjugated and transposed column of the matrix, a plurality of termscorresponding to a plurality of combinations of possible data valuesthat can be assigned to the one or more received signals; (iii)estimating the inner product calculated in step (i) based on thecalculations of steps (i) and (ii); and (iv) deriving, based on theestimated inner product of step (iii), a subset of complex vectors, eachof the complex vectors in the subset representing one of thecombinations of possible data values that can be assigned to the one ormore received signals.
 34. The device of claim 33, wherein: the innerproduct of step (i) is given by h^(*) _(u)r, where: r is a complexN-dimensional vector [r₁, . . . ,r_(i), . . . ,r_(N)]^(T) with r_(i)being the signal received by the i^(th) receiver; h_(u) is the u^(th)column of the matrix H; H is a complex [N×M] matrix containingtransfer-functions h_(im) (i=1, . . . ,N; m=1, . . . ,M), wherein h_(im)is the transfer-function for transmission from the m^(th) transmitter tothe i^(th) receiver; and M is the number of transmitters; the pluralityof terms of step (ii) is given byInterf=Σ_((i=1, . . . ,M{circumflex over ( )}i≠u)) x_(i)*(h^(*)_(u)*h_(i)), where: Σ_((i=1, . . . ,M{circumflex over ( )}i≠u)) is asummation over the index i from 1 to M with the exception of the integeru; and h_(i) is the i^(th) column of the matrix H; and the estimatedinner product of step (iii) is given by Interf+x_(u)*(h^(*) _(u)*h_(u)),where: the value for x_(u) corresponds to each of the value combinations[x₁, . . . ,x_(u−1),x_(u+1), . . . ,x_(M)] and constitutes a test setcomprising a plurality of complex vectors x^(p) _(SET); and the subsetof complex vectors of step (iv) is derived by arg_(over set)min(∥r−Hx^(p) _(SET)∥), where arg_(over set)min(∥ . . . ∥) is a functionidentifying the vector having the minimum length in a set of vectors.35. The device of claim 23, wherein the number of transmitters and thenumber of receivers are unequal.
 36. A wireless data communicationsystem comprising: a base station comprising: a plurality of firstgroups, each first group comprising a receiver and at least one antennaconnected to the receiver; and a signal-processing unit comprisingmemory and a processor adapted to process signals received by the firstgroups using a Maximum Likelihood Detection (MLD) method; and a wirelessdevice comprising a plurality of second groups, wherein: each secondgroup is adapted to transmit a wireless signal to at least one firstgroup via a corresponding communication channel; and each second groupcomprises a transmitter and at least one antenna connected to thetransmitter; the signal-processing unit is adapted to store, in thememory, information corresponding to one or more transfer functions,each transfer function corresponding to transmission of a wirelesssignal from an antenna of the second groups to an antenna of the firstgroups; the transmitters and receivers are adapted to operate atessentially the same frequency or frequency band; and two or more of thecommunication channels are generated simultaneously.
 37. The device ofclaim 36, wherein the MLD method comprises: (a) calculating a firstvector length for each of a plurality of complex vectors correspondingto a constellation having a plurality of combinations of possible datavalues; (b) selecting a subset of the combinations based on the firstvector lengths calculated in step (a); (c) calculating, for the firsttransmitter, a second vector length for each complex vectorcorresponding to a combination in the subset; if there are one or moreother transmitters, then, for each other transmitter, implementing steps(d) and (e), wherein: step (d) comprises reducing the subset based onthe second vector lengths calculated in step (c); and step (e) comprisescalculating, for a current transmitter, a second vector length for eachcomplex vector corresponding to a combination in the reduced subset; and(f) generating the data based on the combination of possible data valuesthat corresponds to the complex vector having the smallest second vectorlength in the subset.
 38. The device of claim 37, wherein: the subset ofcombinations selected in step (b) corresponds to a first specifiednumber of complex vectors having the smallest first vector lengths; andthe reduced subset of combinations selected in step (d) corresponds to asecond specified number of complex vectors having the smallest secondvector lengths.
 39. The device of claim 38, wherein the method isperformed with knowledge, prior to the occurrence of step (a), of thenumber of repetitions of steps (d) and (e) needed to generate the datain step (f).
 40. The device of claim 37, wherein: the subset ofcombinations selected in step (b) corresponds to the complex vectorshaving first vector lengths smaller than a first specified threshold;and the reduced subset of combinations selected in step (d) correspondsto the complex vectors having second vector lengths smaller than asecond specified threshold.
 41. The device of claim 37, wherein thesignal processing unit calculates the subset by: (i) calculating aninner product of a complex vector representing the one or more receivedsignals with a complex conjugated and transposed column of a matrixcontaining transfer functions representing transmission between the oneor more transmitters and the one or more receivers; (ii) calculating,based on a summation of the transmitted signals transmitted by all ofthe transmitters except for the transmitter corresponding to the complexconjugated and transposed column of the matrix, a plurality of termscorresponding to a plurality of combinations of possible data valuesthat can be assigned to the one or more received signals; (iii)estimating the inner product calculated in step (i) based on thecalculations of steps (i) and (ii); and (iv) deriving, based on theestimated inner product of step (iii), a subset of complex vectors, eachof the complex vectors in the subset representing one of thecombinations of possible data values that can be assigned to the one ormore received signals.
 42. The device of claim 36, wherein the number oftransmitters and the number of receivers are unequal.